home *** CD-ROM | disk | FTP | other *** search
/ Aminet 19 / Aminet 19 (1997)(GTI - Schatztruhe)[!][Jun 1997].iso / Aminet / util / sys / DateF.lha / DateF / datef.c < prev    next >
C/C++ Source or Header  |  1997-04-06  |  14KB  |  734 lines

  1. /****************************************************************************/
  2. /* PROGRAMME : DateF                                                        */
  3. /* SOURCE    : datef.c                                                      */
  4. /* VERSION   : 1.0                                                          */
  5. /* AUTEUR    : N. DARNIS                                                    */
  6. /* DATE      : 5.4.1997                                                     */
  7. /* OBJET     : Retourne la date système au format français.                 */
  8. /****************************************************************************/
  9.  
  10. #include <time.h>
  11. #include <fctype.h>
  12. #include <string.h>
  13. #include <stdio.h>
  14. #include <stdlib.h>
  15.  
  16. #define VERSION                {printf( "DateF v 1.0, N. DARNIS, Avril 1997\n\n");}
  17. #define Alloc(t,n)            (t*)malloc(n*sizeof(t))
  18.  
  19. typedef enum {
  20.     DIM = 0,
  21.     LUN,
  22.     MAR,
  23.     MER,
  24.     JEU,
  25.     VEN,
  26.     SAM,
  27.     ERR_JOUR
  28. } Jour;
  29.  
  30. typedef enum {
  31.     JAN = 0,
  32.     FEV,
  33.     MARS,
  34.     AVR,
  35.     MAI,
  36.     JUN,
  37.     JUI,
  38.     AOU,
  39.     SEP,
  40.     OCT,
  41.     NOV,
  42.     DEC,
  43.     ERR_MOIS
  44. } Mois;
  45.  
  46. char *nom_jour[] = {
  47.     "Dimanche",
  48.     "Lundi",
  49.     "Mardi",
  50.     "Mercredi",
  51.     "Jeudi",
  52.     "Vendredi",
  53.     "Samedi",
  54.     "JOUR INCONNU"
  55. };
  56.  
  57. char *nom_mois[] = {
  58.     "Janvier",
  59.     "Février",
  60.     "Mars",
  61.     "Avril",
  62.     "Mai",
  63.     "Juin",
  64.     "Juillet",
  65.     "Août",
  66.     "Septembre",
  67.     "Octobre",
  68.     "Novembre",
  69.     "Décembre",
  70.     "MOIS INCONNU"
  71. };
  72.  
  73. char *janvier[] = {
  74.     "ERREUR",
  75.     "JOUR DE L'AN",
  76.     "Saint Basile",
  77.     "Sainte Geneviève",
  78.     "Saint Odilon",
  79.     "Saint Edouard",
  80.     "Saint Mélaine",
  81.     "Saint Raymond",
  82.     "Saint Lucien",
  83.     "Sainte Alix",
  84.     "Saint Guillaume",
  85.     "Saint Paulin",
  86.     "Sainte Tatiana",
  87.     "Sainte Yvette",
  88.     "Sainte Nina",
  89.     "Saint Remi",
  90.     "Saint Marcel",
  91.     "Sainte Roseline",
  92.     "Sainte Prisca",
  93.     "Saint Marius",
  94.     "Saint Sébastien",
  95.     "Sainte Agnès",
  96.     "Saint Vincent",
  97.     "Saint Barnard",
  98.     "Saint Fr. de Sales",
  99.     "Conv. S. Paul",
  100.     "Sainte Paule",
  101.     "Sainte Angèle",
  102.     "Saint Th. d'Aquin",
  103.     "Saint Gildas",
  104.     "Sainte Martine",
  105.     "Sainte Marcelle"
  106. };
  107.  
  108. char *fevrier[] = {
  109.     "ERREUR",
  110.     "Sainte Ella",
  111.     "Présentation",
  112.     "Saint Blaise",
  113.     "Sainte Véronique",
  114.     "Sainte Agathe",
  115.     "Saint Gaston",
  116.     "Sainte Eugénie",
  117.     "Sainte Jacqueline",
  118.     "Sainte Apolline",
  119.     "Saint Arnaud",
  120.     "N.-D. Lourdes",
  121.     "Saint Félix",
  122.     "Sainte Béatrice",
  123.     "Saint Valentin",
  124.     "Saint Claude",
  125.     "Sainte Julienne",
  126.     "Saint Alexis",
  127.     "Sainte Bernadete",
  128.     "Saint Gabin",
  129.     "Sainte Aimée",
  130.     "Saint P. Damien",
  131.     "Sainte Isabelle",
  132.     "Saint Lazare",
  133.     "Saint Modeste",
  134.     "Saint Roméo",
  135.     "Saint Nestor",
  136.     "Sainte Honorine",
  137.     "Saint Romain",
  138.     "Saint Auguste",
  139. };
  140.  
  141. char *mars[] = {
  142.     "ERREUR",
  143.     "Saint Aubin",
  144.     "Saint Charles le B.",
  145.     "Saint Guénolé",
  146.     "Saint Casimir",
  147.     "Saint Olive",
  148.     "Sainte Colette",
  149.     "Sainte Félicité",
  150.     "Saint Jean de D.",
  151.     "Sainte Françoise",
  152.     "Saint Vivien",
  153.     "Sainte Rosine",
  154.     "Sainte Justine",
  155.     "Saint Rodrigue",
  156.     "Sainte Mathilde",
  157.     "Sainte Louise",
  158.     "Sainte Bénédicte",
  159.     "Saint Patrice",
  160.     "Saint Cyrille",
  161.     "Saint Joseph",
  162.     "Saint Herbert",
  163.     "Sainte Clémence",
  164.     "Sainte Léa",
  165.     "Saint Victorien",
  166.     "Sainte Cath. de Su.",
  167.     "ANNONCIATION",
  168.     "Sainte Larissa",
  169.     "Saint Habib",
  170.     "Saint Gontran",
  171.     "Sainte Gwladys",
  172.     "Saint Amédée",
  173.     "Saint Benjamin"
  174. };
  175.  
  176. char *avril[] = {
  177.     "ERREUR",
  178.     "Saint Hugues",
  179.     "Sainte Sandrine",
  180.     "Saint Richard",
  181.     "Saint Isidore",
  182.     "Sainte Irène",
  183.     "Saint Marcelin",
  184.     "Saint J.-B. de la S.",
  185.     "Sainte Julie",
  186.     "Saint Gautier",
  187.     "Saint Fulbert",
  188.     "Saint Stanislas",
  189.     "Saint Jules",
  190.     "Sainte Ida",
  191.     "Saint Maxime",
  192.     "Saint Paterne",
  193.     "Saint Benoît-J.",
  194.     "Saint Anicet",
  195.     "Saint Parfait",
  196.     "Sainte Emma",
  197.     "Sainte Odette",
  198.     "Saint Anselme",
  199.     "Saint Alexandre",
  200.     "Saint Georges",
  201.     "Saint Fidèle",
  202.     "Saint Marc",
  203.     "Sainte Alida",
  204.     "Sainte Zita",
  205.     "Sainte Valérie",
  206.     "Sainte Cath. de Si.",
  207.     "Saint Robert"
  208. };
  209.  
  210. char *mai[] = {
  211.     "ERREUR",
  212.     "FETE DU TRAVAIL",
  213.     "Saint Boris",
  214.     "Saint Jacques, Saint Philippe",
  215.     "Saint Sylvain",
  216.     "Sainte Judith",
  217.     "Sainte Prudence",
  218.     "Sainte Gisèle",
  219.     "VICTOIRE 1945",
  220.     "Saint Pacôme",
  221.     "Sainte Solange",
  222.     "Sainte Estelle",
  223.     "Saint Achille",
  224.     "Sainte Rolande",
  225.     "Saint Matthias",
  226.     "Sainte Denise",
  227.     "Saint Honoré",
  228.     "Saint Pascal",
  229.     "Saint Eric",
  230.     "Saint Yves",
  231.     "Saint Bernardin",
  232.     "Saint Constantin",
  233.     "Saint Emile",
  234.     "Saint Didier",
  235.     "Saint Donatien",
  236.     "Sainte Sophie",
  237.     "Saint Bérenger",
  238.     "Saint Augustin",
  239.     "Saint Germain",
  240.     "Saint Aymar",
  241.     "Saint Ferdinand",
  242.     "Visitation"
  243. };
  244.  
  245. char *juin[] = {
  246.     "ERREUR",
  247.     "Saint Justin",
  248.     "Sainte Blandine",
  249.     "Saint Kévin",
  250.     "Sainte Clotilde",
  251.     "Saint Igor",
  252.     "Saint Norbert",
  253.     "Saint Gilbert",
  254.     "Saint Médard",
  255.     "Sainte Diane",
  256.     "Saint Landry",
  257.     "Saint Barnabé",
  258.     "Saint Guy",
  259.     "Saint Antoine de P.",
  260.     "Saint Elisée",
  261.     "Sainte Germaine",
  262.     "Saint J.F. Régis",
  263.     "Saint Hervé",
  264.     "Saint Léonce",
  265.     "Saint Romuald",
  266.     "Saint Silvère",
  267.     "ETE",
  268.     "Saint Alban",
  269.     "Sainte Audrey",
  270.     "Saint Jean-Bapt.",
  271.     "Saint Prosper",
  272.     "Saint Anthelme",
  273.     "Saint Fernand",
  274.     "Saint Irénée",
  275.     "Saint Pierre, Saint Paul",
  276.     "Saint Martial"
  277. };
  278.  
  279. char *juillet[] = {
  280.     "ERREUR",
  281.     "Saint Thierry",
  282.     "Saint Martinien",
  283.     "Saint Thomas",
  284.     "Saint Florent",
  285.     "Saint Antoine",
  286.     "Sainte Mariette",
  287.     "Saint Raoul",
  288.     "Saint Thibaut",
  289.     "Sainte Amandine",
  290.     "Saint  Ulrich",
  291.     "Saint Benoît",
  292.     "Saint Olivier",
  293.     "Saint Henri, Saint Joël",
  294.     "FETE NATIONALE",
  295.     "Saint Donald",
  296.     "N.D. Mt-Carmel",
  297.     "Sainte Charlotte",
  298.     "Saint Frédéric",
  299.     "Saint Arsène",
  300.     "Sainte Marina",
  301.     "Saint Victor",
  302.     "Sainte Marie-Mad.",
  303.     "Sainte Brigitte",
  304.     "Sainte Christine",
  305.     "Saint Jacques",
  306.     "Sainte Anne, Sainte Joa.",
  307.     "Sainte Nathalie",
  308.     "Saint Samson",
  309.     "Sainte Marthe",
  310.     "Sainte Juliette",
  311.     "Saint Ignace de L."
  312. };
  313.  
  314. char *aout[] = {
  315.     "ERREUR",
  316.     "Saint Alphonse",
  317.     "Saint Julien-Ey.",
  318.     "Sainte Lydie",
  319.     "Saint J.M. Vianney",
  320.     "Saint Abel",
  321.     "Transfiguration",
  322.     "Saint Gaétan",
  323.     "Saint Dominique",
  324.     "Saint Amour",
  325.     "Saint Laurent",
  326.     "Sainte Claire",
  327.     "Sainte Clarisse",
  328.     "Saint Hippolyte",
  329.     "Saint Evrard",
  330.     "ASSOMPTION",
  331.     "Saint Armel",
  332.     "Saint Hyacinthe",
  333.     "Sainte Hélène",
  334.     "Saint Jean Eudes",
  335.     "Saint Bernard",
  336.     "Saint Christophe",
  337.     "Saint Fabrice",
  338.     "Sainte Rose de L.",
  339.     "Saint Barthélemy",
  340.     "Saint Louis",
  341.     "Sainte Natacha",
  342.     "Sainte Monique",
  343.     "Saint Augustin",
  344.     "Sainte Sabine",
  345.     "Saint Fiacre",
  346.     "Saint Aristide"
  347. };
  348.  
  349. char *septembre[] = {
  350.     "ERREUR",
  351.     "Saint Gilles",
  352.     "Sainte Ingrid",
  353.     "Saint Grégoire",
  354.     "Sainte Rosalie",
  355.     "Sainte Raïssa",
  356.     "Saint Bertrand",
  357.     "Sainte Reine",
  358.     "Nativité N.D.",
  359.     "Saint Alain",
  360.     "Sainte Inès",
  361.     "Saint Adelphe",
  362.     "Saint Apollinaire",
  363.     "Saint Aimé",
  364.     "La Sainte Croix",
  365.     "Saint Roland",
  366.     "Sainte Edith",
  367.     "Saint Renaud",
  368.     "Sainte Nadège",
  369.     "Sainte Emilie",
  370.     "Saint Davy",
  371.     "Saint Matthieu",
  372.     "Saint Maurice",
  373.     "AUTOMNE",
  374.     "Sainte Thècle",
  375.     "Saint Hermann",
  376.     "Saint Côme, Saint Dam.",
  377.     "Saint Vincent de Paul",
  378.     "Saint Venceslas",
  379.     "Saint Michel",
  380.     "Saint Jérôme"
  381. };
  382.  
  383. char *octobre[] = {
  384.     "ERREUR",
  385.     "Sainte Th. de l'E.J.",
  386.     "Saint Léger",
  387.     "Saint Gérard",
  388.     "Saint Fr. d'Assise",
  389.     "Sainte Fleur",
  390.     "Saint Bruno",
  391.     "Saint Serge",
  392.     "Sainte Pélagie",
  393.     "Saint Denis",
  394.     "Saint Ghislain",
  395.     "Saint Firmin",
  396.     "Saint Wilfried",
  397.     "Saint Géraud",
  398.     "Saint Juste",
  399.     "Sainte Th. d'Avila",
  400.     "Sainte Edwige",
  401.     "Saint Baudouin",
  402.     "Saint Luc",
  403.     "Saint René",
  404.     "Sainte Adeline",
  405.     "Sainte Céline",
  406.     "Sainte Elodie",
  407.     "Saint Jean de C.",
  408.     "Saint Florentin",
  409.     "Saint Crépin",
  410.     "Saint Dimitri",
  411.     "Sainte Emeline",
  412.     "Saint Sim., Saint Jude",
  413.     "Saint Narcisse",
  414.     "Sainte Bienvenue",
  415.     "Saint Quentin"
  416. };
  417.  
  418. char *novembre[] = {
  419.     "ERREUR",
  420.     "TOUSSAINT",
  421.     "DEFUNTS",
  422.     "Saint Hubert",
  423.     "Saint Charles",
  424.     "Sainte Sylvie",
  425.     "Sainte Bertille",
  426.     "Sainte Carine",
  427.     "Saint Geoffroy",
  428.     "Saint Théodore",
  429.     "Saint Léon",
  430.     "ARMISTICE 1918",
  431.     "Saint Christian",
  432.     "Saint Brice",
  433.     "Saint Sidoine",
  434.     "Saint Albert",
  435.     "Sainte Marguerite",
  436.     "Sainte Elisabeth",
  437.     "Sainte Aude",
  438.     "Saint Tanguy",
  439.     "Saint Edmond",
  440.     "Prés. Marie",
  441.     "Sainte Cécile",
  442.     "Saint Clément",
  443.     "Sainte Flora",
  444.     "Sainte Catherine L.",
  445.     "Sainte Delphine",
  446.     "Saint Séverin",
  447.     "Saint Jacq. de la M.",
  448.     "Saint Saturnin",
  449.     "Saint André"
  450. };
  451.  
  452. char *decembre[] = {
  453.     "ERREUR",
  454.     "Sainte Florence",
  455.     "Sainte Viviane",
  456.     "Saint Xavier",
  457.     "Sainte Barbara",
  458.     "Saint Gérald",
  459.     "Saint Nicolas",
  460.     "Saint Ambroise",
  461.     "Imm. Concept.",
  462.     "Saint P. Fourier",
  463.     "Saint Romaric",
  464.     "Saint Daniel",
  465.     "Sainte Jeanne F.C.",
  466.     "Sainte Lucie",
  467.     "Sainte Odile",
  468.     "Sainte Ninon",
  469.     "Sainte Alice",
  470.     "Saint Gaël",
  471.     "Saint Gatien",
  472.     "Saint Urbain",
  473.     "Saint Abraham",
  474.     "Saint Pierre C.",
  475.     "HIVER",
  476.     "Saint Armand",
  477.     "Sainte Adèle",
  478.     "NOEL",
  479.     "Saint Etienne",
  480.     "Saint Jean",
  481.     "SS. Innoncents",
  482.     "Saint David",
  483.     "Saint Roger",
  484.     "Saint Sylvestre"
  485. };
  486.  
  487. void main( int argc, char *argv[] );
  488. void Usage( void );
  489. void Erreur( void );
  490.  
  491. void main( int argc, char *argv[] )
  492. {
  493.     short                    r = 0;
  494.     long                    h,
  495.                             m;
  496.     struct tm                *t;
  497.     char                    *k,
  498.                             *jour,
  499.                             *mois,
  500.                             *fete = NULL,
  501.                             jr[4],
  502.                             heures[3],
  503.                             minutes[3];
  504.     time_t                    y,
  505.                             z;
  506.  
  507.     if( argc > 2 )
  508.         Usage();
  509.      
  510.     if( argc == 2 )
  511.         if( !isdigit( *argv[1] ) )
  512.             Usage();
  513.  
  514.     y = time( &z );
  515.     t = localtime( &y );
  516.     k = asctime( t );
  517.  
  518.     if( argc == 2 )
  519.     {
  520.         strncpy( heures, argv[1], 2 );
  521.         strncpy( minutes, strchr( argv[1], ':' ) + 1, 2 );
  522.         h = strtol( heures, NULL, 10 );
  523.         m = strtol( minutes, NULL, 10 );
  524.  
  525.         if( h <= 23 && h >= 0 && m <= 59 && m >= 0 )
  526.         {
  527.             if( (long)t->tm_hour >= h )
  528.             {
  529.                 if( (long)t->tm_min >= m )
  530.                     r = 30;
  531.             }
  532.         }
  533.     }
  534.  
  535.     strncpy( jr, k, 3 );
  536.     jr[3] = '\0';
  537.  
  538.     if( !strcmpi( "sun", jr ) )
  539.     {
  540.         jour = Alloc( char, 1 + strlen( nom_jour[DIM] ) );
  541.         strcpy( jour, nom_jour[DIM] );
  542.     }
  543.     else
  544.     {
  545.         if( !strcmpi( "mon", jr ) )
  546.         {
  547.             jour = Alloc( char, 1 + strlen( nom_jour[LUN] ) );
  548.             strcpy( jour, nom_jour[LUN] );
  549.         }
  550.         else
  551.         {
  552.             if( !strcmpi( "tue", jr ) )
  553.             {
  554.                 jour = Alloc( char, 1 + strlen( nom_jour[MAR] ) );
  555.                 strcpy( jour, nom_jour[MAR] );
  556.             }
  557.             else
  558.             {
  559.                 if( !strcmpi( "wed", jr ) )
  560.                 {
  561.                     jour = Alloc( char, 1 + strlen( nom_jour[MER] ) );
  562.                     strcpy( jour, nom_jour[MER] );
  563.                 }
  564.                 else
  565.                 {
  566.                     if( !strcmpi( "thu", jr ) )
  567.                     {
  568.                         jour = Alloc( char, 1 + strlen( nom_jour[JEU] ) );
  569.                         strcpy( jour, nom_jour[JEU] );
  570.                     }
  571.                     else
  572.                     {
  573.                         if( !strcmpi( "fri", jr ) )
  574.                         {
  575.                             jour = Alloc( char, 1 + strlen( nom_jour[VEN] ) );
  576.                             strcpy( jour, nom_jour[VEN] );
  577.                         }
  578.                         else
  579.                         {
  580.                             if( !strcmpi( "sat", jr ) )
  581.                             {
  582.                                 jour = Alloc( char, 1 + strlen( nom_jour[SAM] ) );
  583.                                 strcpy( jour, nom_jour[SAM] );
  584.                             }
  585.                             else
  586.                             {
  587.                                 jour = Alloc( char, 1 + strlen( nom_jour[ERR_JOUR] ) );
  588.                                 strcpy( jour, nom_jour[ERR_JOUR] );
  589.                             }
  590.                         }
  591.                     }
  592.                 }
  593.             }
  594.         }
  595.     }
  596.  
  597.     switch( t->tm_mon )
  598.     {
  599.         case JAN:
  600.             mois = Alloc( char, 1 + strlen( nom_mois[JAN] ) );
  601.             strcpy( mois, nom_mois[JAN] );
  602.             fete = Alloc( char, 1 + strlen( janvier[t->tm_mday] ) );
  603.             strcpy( fete, janvier[t->tm_mday] );
  604.             break;
  605.  
  606.         case FEV:
  607.             mois = Alloc( char, 1 + strlen( nom_mois[FEV] ) );
  608.             strcpy( mois, nom_mois[FEV] );
  609.             fete = Alloc( char, 1 + strlen( fevrier[t->tm_mday] ) );
  610.             strcpy( fete, fevrier[t->tm_mday] );
  611.             break;
  612.  
  613.         case MARS:
  614.             mois = Alloc( char, 1 + strlen( nom_mois[MARS] ) );
  615.             strcpy( mois, nom_mois[MARS] );
  616.             fete = Alloc( char, 1 + strlen( mars[t->tm_mday] ) );
  617.             strcpy( fete, mars[t->tm_mday] );
  618.             break;
  619.  
  620.         case AVR:
  621.             mois = Alloc( char, 1 + strlen( nom_mois[AVR] ) );
  622.             strcpy( mois, nom_mois[AVR] );
  623.              fete = Alloc( char, 1 + strlen( avril[t->tm_mday] ) );
  624.             strcpy( fete, avril[t->tm_mday] );
  625.             break;
  626.     
  627.         case MAI:
  628.             mois = Alloc( char, 1 + strlen( nom_mois[MAI] ) );
  629.             strcpy( mois, nom_mois[MAI] );
  630.              fete = Alloc( char, 1 + strlen( mai[t->tm_mday] ) );
  631.             strcpy( fete, mai[t->tm_mday] );
  632.             break;
  633.  
  634.         case JUN:
  635.             mois = Alloc( char, 1 + strlen( nom_mois[JUN] ) );
  636.             strcpy( mois, nom_mois[JUN] );
  637.             fete = Alloc( char, 1 + strlen( juin[t->tm_mday] ) );
  638.             strcpy( fete, juin[t->tm_mday] );
  639.             break;
  640.  
  641.         case JUI:
  642.             mois = Alloc( char, 1 + strlen( nom_mois[JUI] ) );
  643.             strcpy( mois, nom_mois[JUI] );
  644.              fete = Alloc( char, 1 + strlen( juillet[t->tm_mday] ) );
  645.             strcpy( fete, juillet[t->tm_mday] );
  646.             break;
  647.  
  648.         case AOU:
  649.             mois = Alloc( char, 1 + strlen( nom_mois[AOU] ) );
  650.             strcpy( mois, nom_mois[AOU] );
  651.              fete = Alloc( char, 1 + strlen( aout[t->tm_mday] ) );
  652.             strcpy( fete, aout[t->tm_mday] );
  653.             break;
  654.  
  655.         case SEP:
  656.             mois = Alloc( char, 1 + strlen( nom_mois[SEP] ) );
  657.             strcpy( mois, nom_mois[SEP] );
  658.              fete = Alloc( char, 1 + strlen( septembre[t->tm_mday] ) );
  659.             strcpy( fete, septembre[t->tm_mday] );
  660.             break;
  661.  
  662.         case OCT:
  663.             mois = Alloc( char, 1 + strlen( nom_mois[OCT] ) );
  664.             strcpy( mois, nom_mois[OCT] );
  665.              fete = Alloc( char, 1 + strlen( octobre[t->tm_mday] ) );
  666.             strcpy( fete, octobre[t->tm_mday] );
  667.             break;
  668.  
  669.         case NOV:
  670.             mois = Alloc( char, 1 + strlen( nom_mois[NOV] ) );
  671.             strcpy( mois, nom_mois[NOV] );
  672.              fete = Alloc( char, 1 + strlen( novembre[t->tm_mday] ) );
  673.             strcpy( fete, novembre[t->tm_mday] );
  674.             break;
  675.  
  676.         case DEC:
  677.             mois = Alloc( char, 1 + strlen( nom_mois[DEC] ) );
  678.             strcpy( mois, nom_mois[DEC] );
  679.              fete = Alloc( char, 1 + strlen( decembre[t->tm_mday] ) );
  680.             strcpy( fete, decembre[t->tm_mday] );
  681.             break;
  682.  
  683.         default:
  684.             mois = Alloc( char, 1 + strlen( nom_mois[ERR_MOIS] ) );
  685.             strcpy( mois, nom_mois[ERR_MOIS] );
  686.             break;
  687.     }
  688.  
  689.     if( t->tm_mday == 1 )
  690.         printf( "%s %der %s %d, ", jour, t->tm_mday, mois, t->tm_year + 1900 );
  691.     else
  692.         printf( "%s %d %s %d, ", jour, t->tm_mday, mois, t->tm_year + 1900 );
  693.  
  694.     printf( "%d:", t->tm_hour );
  695.  
  696.     if( t->tm_min < 10 ) printf( "0%d:", t->tm_min )
  697.         ;
  698.     else
  699.         printf( "%d:", t->tm_min );
  700.  
  701.     if( t->tm_sec < 10 ) printf( "0%d, ", t->tm_sec )
  702.         ;
  703.     else
  704.         printf( "%d, ", t->tm_sec );
  705.  
  706.     printf( "%s\n", fete );
  707.  
  708.     heures[0] = NULL;
  709.     minutes[0] = NULL;
  710.  
  711.     if( mois ) free( mois );
  712.     if( jour ) free( jour );
  713.     if( fete ) free( fete );
  714.  
  715.     exit( r );
  716. }
  717.  
  718. void Usage( void )
  719. {
  720.     VERSION;
  721.     printf( "    Utilisation :\n\n");
  722.     printf( "\t1- DateF       : Retourne la date et l'heure système ainsi que la fête\n\t\t\t du jour du calendrier français.\n" );
  723.     printf( "\t2- DateF hh:mm : Idem mais renvoie la valeur 30 si l'heure système\n" );
  724.     printf( "\t                 est supérieure ou égale à hh:mm (idéal pour se faire\n" );
  725.     printf( "\t                 une alarme CLI).\n" );
  726.     exit( 1 );
  727. }
  728.  
  729. void Erreur( void )
  730. {
  731.     printf( "DateF : ERREUR\n" );
  732.     exit( -1 );
  733. }
  734.